Split L2 latch with glitch free programmable delay

ABSTRACT

A programmable delay circuit that delays the C2 clock signal by a variable amount that allows the output from the L1 latch to be captured even when there is a large delta between the L1 latch and its L2 latch. This allows the C2 signal to be adjusted within the system dependent upon the amount of cycle steal is needed. The C2 clock delay is inhibited during scan operation to prevent glitches and the trailing edge of the delayed C2 is controlled to maintain a constant C2 duty cycle.

CROSS REFERENCE TO RELATED APPLICATIONS

This application contains subject matter that is related to the subject matter of the following co-pending applications, each of which is assigned to the same assignee as this application, International Business Machines Corporation of Armonk, N.Y., and is filed concurrently herewith. Each of the below listed applications is hereby incorporated herein by reference. High Speed Domino Bit Line Interface Early Read and Noise Suppression, Attorney Docket POU9 2004 0217; Global Bit Select Circuit With Dual Read and Write Bit Line Pairs, Attorney Docket POU9 2004 0214; Local Bit Select Circuit With Slow Read Recovery Scheme, Attorney Docket POU9 2004 0224; Global Bit Line Restore Timing Scheme and Circuit, Attorney Docket POU9 2004 1234; Local Bit Select With Suppression, Attorney Docket POU9 2004 0246.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to L1-L2 latch chains, and more particularly to an improved programmable delay circuit for the L2 latch clock.

2. Description of Background

As will be appreciated by those skilled in the art, a latch circuit of the type contemplated by this invention has a data and a clock input. The data input state at the leading clock edge is transferred to the latch output. The output state is retained after the trailing edge of the clock, independent of changes in the input data. A common approach to memory logic uses one latch L1 as a master latch and another latch L2 as a slave latch, with the output of L1 coupled to the input of its associated L2 latch. The latches are connected in series to from a chain and separate clock signals (C1 and C2 respectively) are used to clock the L1 latches and the L2 latches. As will also be appreciated by those skilled in the art, one L2 latch is associated as a slave with each L1 latch in order to allow scan testing of the latch chain. In certain L1/L2 latch chains, where there is a large time delta between the data output of L1 and the data arrival at L2, the data is not reliably captured in the L2 latch. The prior art has proposed the use of a delay circuit to delay the clock signal C2 to the L2 latch. However, these proposals have not been all together successful. One problem with prior art proposals for delaying the L2 clock signal it that it introduces glitches. During test scan operations, the set(0-3) signals (FIG. 1) are constantly switching. This can cause glitching (unintended false switching to 1 or 0) on the delay_out signal, which can corrupt the data flow from L1 to L2. This corrupted data flow can directly affect the output since there is no other latch to preserve data integrity after the L2 latch. Another limitation of prior art C2 clock delay circuits is that they alter the duty cycle of original C2 signal.

SUMMARY OF THE INVENTION

One object of the invention is the provision of a C2 clock delay circuit that allows the output from an L1 latch to be captured in its L2 latch when there is a large delta between the two latches.

Another object of this invention is the provision of C2 clock delay circuit

Another object of this invention is the provision of C2 clock delay circuit that does not introduce a glitch in the L2 latch outputs as a result of a scan operation.

A further object of this invention is the provision of a C2 clock delay circuit that does not alter the duty cycle of the C2 clock signal.

Briefly, this invention contemplates the provision of a programmable delay circuit that delays the C2 clock signal by a variable amount that allows the output from the L1 latch to be captured even when there is a large delta between the L1 latch and its L2 latch. This allows the C2 signal to be adjusted within the system dependent upon the amount of cycle steal is needed. The C2 clock delay is inhibited during scan operation to prevent glitches and the trailing edge of the delayed C2 is controlled to maintain a constant C2 duty cycle.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter that is regarded as the invention is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The forgoing and other objects, features, and advantages of the invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:

FIGS. 1A and 1B are diagrams, a partially block diagram and a partially schematic diagram, of one embodiment of a C2 clock delay circuit in accordance with teachings of this invention.

DETAILED DESCRIPTION OF THE INVENTION

Referring now to FIGS. 1A and 1B, specific embodiment of the C2 delay clock generator of this invention shown in FIGS. 1A and 1B has four functional components; a programmable C2 clock delay circuit shown in block 1, a scan mode delay inhibit circuit shown block 2; a constant C2 clock cycle circuit shown in block 3, and C2 clock output circuit shown in block 4. In the programmable C2 clock delay circuit of block 1, the C2 clock is coupled via the delay_input terminal to an exclusive NOR gate 12 and to one input terminal of each of four exclusive three input AND gates 14. In this specific embodiment of the invention, the C2 clock is active low, and may be the complement of the C1 clock Programmable bits held in mode latches (not show) are coupled to the set0, set1, set2, and set3 inputs of the gates 14. The input in put of each gate 14 is connected to the C2 clock input terminal delay_in. The outputs of 14 are connected in a chain from bottom to top in the drawing. The amount of delay introduced is determined by which of the gates is selected by the programmable input, set0, set1, set2, or set3. The programmable input selects one of the gates 14, which determines the number of delay invertors in the path between the C2 clock input delay_in and the delayed clock output delay_out, which controls the C2 clock port of the L2 latch. If set0 is selected, the minimum delay is introduced. If set3 is selected, the maximum delay is introduced.

The circuit shown in block 2 disables any selected delay path during a scanning operation to prevent a glitch in the output. At the L2 stage of the L1/L2 latch, and glitch could corrupt the output data. During a scanning, the mode set bit inputs to the gates 14 are constantly changing, increasing the possibility of a glitch. A signal glb_clk_gate_b enables the scan mode. This signal is coupled as one input to an exclusive OR gate 16 whose output coupled as an input to each of the AND gates 14, and in response to the glb_clk_gate_b input deselects gates 14. This enable scan mode signal is also coupled as in input to a latch 18 so that the output of gate 16 to deselect the gates 14 is delayed by one cycle to ensure that the current cycle is not interfered with when entering the scan mode. Since this is at the L2 stage of the L1/L2 latch, any glitch could corrupt the output data, and during scanning, and the mode bits are constantly changing creating a greater possibility of a glitch. However, when the system disables scan mode, the glb_clk_gate_b signal immediately turns on the circuitry in section 1 through the latch 18 and ‘or’ gate 16.

The duty cycle is preserved through the circuitry shown in block 3 of FIG. 1B. The delay circuitry in block 1 only affects the falling edge of the C2 clock signal. The circuitry in block 3 affects the rising edge as well, and thus preserves the duty cycle. The inputs to block 3 are the set(0-3) signals. When delay_in goes active, ‘a1’ signal eventually goes active, once ‘a1’ is active, the C2 clock signal (delay_out) immediately goes active due to the NOR gate driving delay_out. You could get the same functionality (without the duty cycle preservation) by just replacing block 4 with an inverter for signal ‘a1’. If any of the set bits are active in block 3, the 3-input nor in block 4 becomes active. Now, when delay_in becomes inactive, ‘a1’ immediately goes inactive, but the output delay_out does not immediately become inactive. The NOR gates in block 4 force the delay_in signal to propagate through the delay circuitry in block 1. This pushes out the rising edge (inactive state) of delay_out, and preserves the duty cycle. ) This programmable delay circuit and the “Split L2 latch circuit”, provide a cycle steal system with a wide range of allowable arrival times of data to the “Split L2 latch”.

While the preferred embodiment of the invention has been described, it will be understood that those skilled in the art, both now and in the future, may make various improvements and enhancements which fall within the scope of the claims which follow. These claims should be construed to maintain the proper protection for the invention first described. 

1-4. (canceled)
 5. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch, comprising in combination: a clock signal input to said clock signal generator and a delayed clock signal output from said clock signal generator; a programmable clock signal delay circuit having an input connected to said clock signal input terminal and an output coupled to said clock signal output terminal; a scan mode clock signal delay inhibit circuit coupled to said programmable clock signal delay circuit for inhibiting delay of said clock signal during a scan mode operation.
 6. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 5 further including a clock signal duty cycle restore circuit coupled between said programmable delay circuit and said delayed clock signal output terminal to restore the duty cycle of a delayed clock signal.
 7. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 5 wherein said programmable delay circuit includes a series of discrete delay elements connected between said clock signal input and said clock signal output, and binary inputs to each of a plurality of gates select a number of said discrete delay elements in said series.
 8. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 6 wherein said programmable delay circuit includes a series of discrete delay elements connected between said clock signal input and said clock signal output, and binary inputs to each of a plurality of gates select a number of said discrete delay elements in said series.
 9. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 7 where in said scan mode delay inhibit circuit deselects said gates in response to a scan mode enable signal.
 10. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 8 where in said scan mode delay inhibit circuit deselects said gates in response to a scan mode enable signal.
 11. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as claim 5 wherein said scan mode delay mode delay inhibit circuit inhibits response to said scan mode enable signal for a clock cycle.
 12. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as claim 6 wherein said scan mode delay mode delay inhibit circuit inhibits response to said scan mode enable signal for a clock cycle.
 13. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as claim 7 wherein said scan mode delay mode delay inhibit circuit inhibits response to said scan mode enable signal for a clock cycle.
 14. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as claim 8 wherein said scan mode delay mode delay inhibit circuit inhibits response to said scan mode enable signal for a clock cycle.
 15. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as claim 9 wherein said scan mode delay mode delay inhibit circuit inhibits response to said scan mode enable signal for a clock cycle.
 16. A method for generating a clock signal for the L2 stage of an L1-L2 latch including the steps of; delaying an L1 clock signal by an interval determined by programmable bits to generate a clock signal for the L2 latch; inhibiting said delaying step in response to a scan mode enable signal.
 17. A method for generating a clock signal for the L2 stage of an L1-L2 latch as in claim 16 including the further step of restoring the duty cycle of a delayed clock signal for the L2 latch.
 18. A method for generating a clock signal for the L2 stage of an L1-L2 latch as in claim 16 wherein said inhibiting step is delayed for a clock cycle after said scan mode enable signal.
 19. A method for generating a clock signal for the L2 stage of an L1-L2 latch as in claim 17 wherein said inhibiting step is delayed for a clock cycle after said scan mode enable signal.
 20. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch, comprising in combination: a clock signal input means to said clock signal generator and a delayed clock signal output means from said clock signal generator; means to couple said input means to said output means, said means to couple including means to delay a signal from said input means to said output means by a programmable amount; and means for inhibiting delay of said signal during a scan mode operation.
 21. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 20 further including means to restore the duty cycle of a delayed clock signal.
 22. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 20 wherein said means for inhibiting delay includes means to inhibit response to said scan mode enable signal for a clock cycle.
 23. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 22 wherein said means for inhibiting delay includes means to inhibit response to said scan mode enable signal for a clock cycle.
 24. A programmable clock signal generator for generating a clock signal for an L2 stage of an L1-L2 latch as in claim 20 wherein said means for inhibiting delay is programmable. 